package com.ys.entity.finance;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCW_OperateCompanyPrepaymentFlow", catalog="Id")
public class TcwOperateCompanyPrepaymentFlow extends BaseEntity<TcwOperateCompanyPrepaymentFlow> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="OperateCompanyPrepaymentId", nameJava="operateCompanyPrepaymentId", typeDataBase="bigint")
	private Long operateCompanyPrepaymentId;
	@YsField(nameDataBase="PreAmountChange", nameJava="preAmountChange", typeDataBase="decimal")
	private BigDecimal preAmountChange;
	@YsField(nameDataBase="InvoicingAmountChange", nameJava="invoicingAmountChange", typeDataBase="decimal")
	private BigDecimal invoicingAmountChange;
	@YsField(nameDataBase="WithholdAmountChange", nameJava="withholdAmountChange", typeDataBase="decimal")
	private BigDecimal withholdAmountChange;
	@YsField(nameDataBase="PreReturnAmountChange", nameJava="preReturnAmountChange", typeDataBase="decimal")
	private BigDecimal preReturnAmountChange;
	@YsField(nameDataBase="PreAmountAfter", nameJava="preAmountAfter", typeDataBase="decimal")
	private BigDecimal preAmountAfter;
	@YsField(nameDataBase="InvoicingAmountAfter", nameJava="invoicingAmountAfter", typeDataBase="decimal")
	private BigDecimal invoicingAmountAfter;
	@YsField(nameDataBase="WithholdAmountAfter", nameJava="withholdAmountAfter", typeDataBase="decimal")
	private BigDecimal withholdAmountAfter;
	@YsField(nameDataBase="PreReturnAmountAfter", nameJava="preReturnAmountAfter", typeDataBase="decimal")
	private BigDecimal preReturnAmountAfter;
	@YsField(nameDataBase="UserId", nameJava="userId", typeDataBase="varchar")
	private String userId;
	@YsField(nameDataBase="FromType", nameJava="fromType", typeDataBase="tinyint")
	private Integer fromType;
	@YsField(nameDataBase="FromBid", nameJava="fromBid", typeDataBase="varchar")
	private String fromBid;
	@YsField(nameDataBase="Remark", nameJava="remark", typeDataBase="varchar")
	private String remark;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcwOperateCompanyPrepaymentFlow setId(Long id) {
		this.id = id;
		return this;
	}
	public Long getOperateCompanyPrepaymentId() {
		return operateCompanyPrepaymentId;
	}
	public TcwOperateCompanyPrepaymentFlow setOperateCompanyPrepaymentId(Long operateCompanyPrepaymentId) {
		this.operateCompanyPrepaymentId = operateCompanyPrepaymentId;
		return this;
	}
	public BigDecimal getPreAmountChange() {
		return preAmountChange;
	}
	public TcwOperateCompanyPrepaymentFlow setPreAmountChange(BigDecimal preAmountChange) {
		this.preAmountChange = preAmountChange;
		return this;
	}
	public BigDecimal getInvoicingAmountChange() {
		return invoicingAmountChange;
	}
	public TcwOperateCompanyPrepaymentFlow setInvoicingAmountChange(BigDecimal invoicingAmountChange) {
		this.invoicingAmountChange = invoicingAmountChange;
		return this;
	}
	public BigDecimal getWithholdAmountChange() {
		return withholdAmountChange;
	}
	public TcwOperateCompanyPrepaymentFlow setWithholdAmountChange(BigDecimal withholdAmountChange) {
		this.withholdAmountChange = withholdAmountChange;
		return this;
	}
	public BigDecimal getPreReturnAmountChange() {
		return preReturnAmountChange;
	}
	public TcwOperateCompanyPrepaymentFlow setPreReturnAmountChange(BigDecimal preReturnAmountChange) {
		this.preReturnAmountChange = preReturnAmountChange;
		return this;
	}
	public BigDecimal getPreAmountAfter() {
		return preAmountAfter;
	}
	public TcwOperateCompanyPrepaymentFlow setPreAmountAfter(BigDecimal preAmountAfter) {
		this.preAmountAfter = preAmountAfter;
		return this;
	}
	public BigDecimal getInvoicingAmountAfter() {
		return invoicingAmountAfter;
	}
	public TcwOperateCompanyPrepaymentFlow setInvoicingAmountAfter(BigDecimal invoicingAmountAfter) {
		this.invoicingAmountAfter = invoicingAmountAfter;
		return this;
	}
	public BigDecimal getWithholdAmountAfter() {
		return withholdAmountAfter;
	}
	public TcwOperateCompanyPrepaymentFlow setWithholdAmountAfter(BigDecimal withholdAmountAfter) {
		this.withholdAmountAfter = withholdAmountAfter;
		return this;
	}
	public BigDecimal getPreReturnAmountAfter() {
		return preReturnAmountAfter;
	}
	public TcwOperateCompanyPrepaymentFlow setPreReturnAmountAfter(BigDecimal preReturnAmountAfter) {
		this.preReturnAmountAfter = preReturnAmountAfter;
		return this;
	}
	public String getUserId() {
		return userId;
	}
	public TcwOperateCompanyPrepaymentFlow setUserId(String userId) {
		this.userId = userId;
		return this;
	}
	public Integer getFromType() {
		return fromType;
	}
	public TcwOperateCompanyPrepaymentFlow setFromType(Integer fromType) {
		this.fromType = fromType;
		return this;
	}
	public String getFromBid() {
		return fromBid;
	}
	public TcwOperateCompanyPrepaymentFlow setFromBid(String fromBid) {
		this.fromBid = fromBid;
		return this;
	}
	public String getRemark() {
		return remark;
	}
	public TcwOperateCompanyPrepaymentFlow setRemark(String remark) {
		this.remark = remark;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcwOperateCompanyPrepaymentFlow setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcwOperateCompanyPrepaymentFlow setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcwOperateCompanyPrepaymentFlow setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcwOperateCompanyPrepaymentFlow tcwOperateCompanyPrepaymentFlow(
		Long operateCompanyPrepaymentId,
		BigDecimal preAmountChange,
		BigDecimal invoicingAmountChange,
		BigDecimal withholdAmountChange,
		BigDecimal preReturnAmountChange,
		BigDecimal preAmountAfter,
		BigDecimal invoicingAmountAfter,
		BigDecimal withholdAmountAfter,
		BigDecimal preReturnAmountAfter,
		String userId,
		Integer fromType,
		String fromBid,
		String remark,
		Integer status
			) {
		TcwOperateCompanyPrepaymentFlow entity = new TcwOperateCompanyPrepaymentFlow();
		entity.setOperateCompanyPrepaymentId(operateCompanyPrepaymentId);
		entity.setPreAmountChange(preAmountChange);
		entity.setInvoicingAmountChange(invoicingAmountChange);
		entity.setWithholdAmountChange(withholdAmountChange);
		entity.setPreReturnAmountChange(preReturnAmountChange);
		entity.setPreAmountAfter(preAmountAfter);
		entity.setInvoicingAmountAfter(invoicingAmountAfter);
		entity.setWithholdAmountAfter(withholdAmountAfter);
		entity.setPreReturnAmountAfter(preReturnAmountAfter);
		entity.setUserId(userId);
		entity.setFromType(fromType);
		entity.setFromBid(fromBid);
		entity.setRemark(remark);
		entity.setStatus(status);
		return entity;
	}
}